Alarm Manager Durdurma
13.08.2016 - 12:27
Merhaba,
Bir fragment içerisinde sürekli loop eden bir alarm manager kullanıyorum. Amacım sunucuya sürekli istek atıp bilgi varlığını kontrol etmek.
Bir buton yardımıyla alarmı başlatıyorum. Ayrıca birde alarmı bitirme metodum var bu fragment içinde.
public void startAlarm() {
manager = (AlarmManager)getActivity().getSystemService(Context.ALARM_SERVICE);
int interval = 60000;
int xx = 5000;
manager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, xx, interval, pendingIntent);
Toast.makeText(getActivity(), "Alarm Başlatıldı", Toast.LENGTH_SHORT).show();
Log.d("Durum: ", "Başladı.");
}
public void cancelAlarm() {
if (manager != null) {
manager.cancel(pendingIntent);
Toast.makeText(getActivity(), "Alarm Bitirildi", Toast.LENGTH_SHORT).show();
Log.d("Durum: ", "Bitti.");
}
}
Alarmı broadcast receiver a gönderip oradan da bir servise yönlendiriyorum.
Fragment.java
Intent alarmIntent = new Intent(getActivity(), AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(getActivity(), 0, alarmIntent, 0);
Alarmreceiver.java
Intent servis = new Intent(arg0, AlarmServis.class);
arg0.startService(servis);
Servis içinde ise sunucudan bilgiyi çekiyorum ve artık loop eden alarmı durdurmam gerekiyor. İlgili yerde aşağıdaki gibi metodu fragment ten çekip durdurmaya çalışıyorum. Hata yok fakat alarm durdurma işlemini yapmıyor.
Fragment metod = new Fragment();
metod.cancelAlarm();
Arkaplan servisleri hakkında yeniyim. Yardımcı olabilirseniz sevinirim.
46
Görüntülenme
0 Beğeni